1. Field of the Invention
The present invention relates generally to test equipment and more particularly to improved systems and methods for automated testing of equipment such as optical networking components using server-based XML.
2. Description of Related Art
Testing is an integral part of the processes for designing and manufacturing equipment of any sort. In order to improve the efficiency of these processes, testing is often automated. Specialized test equipment, and sometimes specialized test software is developed to enable the automation of the test processes.
One example of an automated test environment relates to high-speed optical network testing. Obviously, network component designs have to be tested to ensure that they have the proper functionality. In the case of high-speed optical network testing, this functionality generally involves the generation of a known pattern of data traffic and transmitting this traffic through the system. The system""s performance in response to the generated traffic can then be analyzed.
As indicated above, test systems may employ equipment and/or software which is specially developed for a particular component of the test system. In the field of high-speed optical networks, each component may be designed to respond to a customized set of commands which are presented in a particular format. Each of the components must, of course, be addressed using the particular commands which it recognizes.
In the high-speed optical network environment, testing is typically accomplished using a set of interconnected servers through which a user communicates tasks to the components of the system under test. The servers may include, for example, an httpd interface through which the user provides input in the form of a script, a scripter which is configured to interpret and execute the script and to generate component-specific commands which can be executed by the components of the network, a connections language handler which is configured to set up any connections which must be made prior to the execution of the test set commands, a starter which is configured to monitor the servers and a message handler which is configured to route all of the message traffic and between the different servers. (These servers are in addition to the test set and optical switch which are controlled by the servers.)
One of the problems with these prior art automated testing systems is that there is little, if any, consistency between components. In other words, each component typically has its own set of commands and its own scripting format, so a single test script generally cannot be used to test several different components. When it is desired to run a particular task on a particular component, a shell script has to be written for that task/component combination, and the user interface to the component must be modified as well. If it is desired to modify a test sequence for each of several components, the scripts for each of the components must be separately modifiedxe2x80x94the modification is not made to a single, common test script.
As a result of the inconsistencies between the commands and scripting formats of the different components, the development of testing solutions is a difficult task. Setting up the test system is a time-consuming process which prevents rapid development of these systems. Further, when it is necessary to modify the testing performed by the system, modifications must be made to the scripts for each of the affected components, as well as the servers which handle these scripts. Consequently, prior art test systems are difficult to maintain.
It would therefore be desirable to provide systems and methods for automated testing which use a consistent format to test a range of components, thereby decreasing the time and effort required to set up, maintain or modify the test system.
One or more of the problems outlined above may be solved by the various embodiments of the invention. Broadly speaking, the invention comprises systems and methods for performing tests on a test system, wherein the system components employ non-standardized command languages.
In one embodiment, the system comprises a set of servers and a user interface, all of which communicate with each other in a standardized format. The user interface may comprise an httpd server. The standardized format may, for example, comprise XML. The servers include a connections/test server which is configured to parse scripts which are provided by a user through the user interface. The connections/test server is further configured to forward the parsed scripts, through a central server, to servers corresponding to components of the system under test. The servers corresponding to the components of the test system are configured to translate the parsed scripts into commands in a non-standardized formats corresponding to the respective components of the test system. These commands are then executed by the respective components of the test system, potentially generating results which our sent back to the servers for the corresponding test system components. These servers translate the results into the standardized format and forward them to the user interface.
Another embodiment of the present invention comprises a method. In this method, a user enters a script through the (httpd) user interface. The user interface forwards the script through a central server (a master process server) to a connections/test server. The connections/test server is configured to break the script into its components and to initiate execution of the script. In the initial stages of execution, the connections/test server establishes the appropriate connections between the test equipment by sending individual connection scripts to servers for each of the components of the equipment. These servers include libraries which allow the servers to translate the scripts into commands which are recognized by the equipment itself. After the connections have been established, the connections/test server goes through the remainder of the script and forwards the script commands to the servers for the appropriate components of the equipment. These servers translate the script commands into the local command language and forward them to the corresponding equipment components. The results generated by the equipment are translated, if necessary, back into the standardized format by the test equipment servers and are forwarded through the central server to the httpd user interface.
Numerous other embodiments are also possible.